The present document is based on Japanese Priority Document JP 2002-053845, filed in the Japanese Patent Office on Feb. 28, 2002, the entire contents of which being incorporated herein by reference.
1. Field of the Invention
The present invention relates to a GPS (Global Positioning System) receiver and a method receiving of a GPS signal to be used for, for example, a portable navigation system and a navigation system of a movable body such as an automobile, an aircraft and a vessel or the like.
2. Description of Related Art
In a GPS system for measuring a position of a movable body or the like by using a satellite (a GPS satellite), according to its basic function, a GPS receiver receives a signal from four or more GPS satellites, calculates a location of the receiver from this received signal and notifies a user of the location thereof.
The GPS receiver demodulates a signal from the GPS satellite and acquires orbit data of the GPS satellite. Then, from an orbit of the GPS satellite and time information, and a delay time of a received signal, the GPS receiver derives a three-dimensional location of itself by using a simultaneous equation. There is an error between the time within the GPS receiver and the time of the satellite. Accordingly, in order to delete an influence due to this error, at least four GPS satellites, from which the received signals are acquired, are required.
A consumer GPS receiver receives an L1 band from the GPS satellite, namely, a spectrum diffusion signal electric wave referred to as a C/A (Coarse/Acquisition) code and carries out a positioning calculation.
The C/A code comprises a code of PN (Pseudorandom Noise) sequence with a transmitted signal rate (chip rate) of 1.023 MHz and a code length of 1023, for example, a Gold code, and also comprises a signal, in which a carrier wave with a frequency of 1575.42 MHz is BPSK (Binary Phase Shift Keying) modulated by a signal in which the data of 50 bps is diffused. In this case, since the code length is 1023, as shown in FIG. 35(A), in the C/A code, the PN sequence code is repeated with 1023 chips as one frequency (namely, one frequency=1 millisecond).
This PN sequence code in this C/A code is varied for each GPS satellite. However, in the GPS receiver, it is possible to detect which GPS satellite uses which PN sequence code in advance. In addition, according to a navigation method to be described later, it is possible for the GPS receiver to know a signal from which GPS satellite can be received at that position and at that time. Accordingly, for example, in a case of performing the three-dimensional positioning, the GPS receiver receives electric waves from four and more GPS satellites available at that position and at that time, performs an inverted spectrum diffusion, and performs a positioning calculation to obtain a location of itself.
As shown in FIG. 35(B), one bit of the satellite signal data is transmitted as 20 periods of the PN sequence code, namely, in a unit of 20 milliseconds. In other words, the data transmission rate is 50 bps. The 1023 chips corresponding to one period of the PN sequence code are inverted when the bit is xe2x80x9c1xe2x80x9d and when the bit is
As shown in FIG. 35(C), in a GPS, 30 bits (i.e., 600 milliseconds) forms one word, and as shown in FIG. 35(D), 10 words forms one sub frame (6 seconds). As shown in FIG. 35(E), in a head word of one sub frame, a preamble is inserted, which always serves as a regular bit pattern even when the data is updated, and after this preamble, the data is transmitted.
Further, one main frame (30 sec) is formed by 5 sub frames. Then, the navigation message is transmitted in a data unit comprising this one main frame. The first three sub frames in the data of this one main frame are the orbit information referred to as ephemeris information, which are peculiar to each satellite. This ephemeris information is repeatedly transferred in one main frame unit (30 sec), and it contains a parameter for obtaining the orbit of the satellite transmitting the foregoing information, and a transmission time of a signal from the satellite.
In other words, the second word of the three sub frames in the ephemeris information contains the time data referred to as Week Number and TOW (Time Of Week). The Week Number is the information for counting up the week for each week starting with Jan. 6, 1980 (Sunday) defined as the 0th week. In addition, the TOW is the time information for counting up the time (counting up in a period of the sub frame) every six seconds providing that the hour of zero a.m. on Sunday is defined as 0.
All GPS satellites are provided with atomic clocks and use the common time data, and the transmission time of a signal from each GPS satellite is synchronized with the atomic clock. By receiving the above-described two time data, the absolute time is obtained. A value not more than 6 seconds comes to be synchronized with the time of a satellite in an accuracy of a reference oscillator provided to the present GPS receiver in the process of synchronous-locking with the electric wave of the satellite.
In addition, the PN sequence code of each GPS satellite is also generated as being synchronized with the atomic clock. Further, from this ephemeris information, a location of the satellite and a rate of the satellite which are to be used for the positioning calculation in the GPS receiver are acquired.
The ephemeris information is an almanac having a high accuracy to be updated with a relative frequency under a control of a control station on the earth. In the GPS receiver, by storing this ephemeris information in a memory, it is possible to use the ephemeris information for the positioning calculation. However, in view of its accuracy, a usable duration of the ephemeris information may be ordinarily about two hours. Accordingly, an elapsed time from a point of time when the ephemeris information is stored in the memory is monitored, and if the monitored elapsed time exceeds this time duration, the GPS receiver may update the ephemeris information in the memory and may rewrite it.
By the way, in order to acquire the new ephemeris information from the GPS receiver and update a content of the memory into this acquired ephemeris information, a minimum of 18 seconds (corresponding to three sub frames) is needed. When the data is acquired from a midstream of the sub frame, consecutive 30 seconds are needed for the updating.
The navigation message in the remaining two sub frames of the data in one frame comprises information referred to as the almanac information, which is to be transmitted in common from all satellites. This almanac information is needed for 25 frames in order to acquire the all information thereof. The almanac information comprises the information for showing a rough location of each GPS satellite and the information for indicating the available GPS satellite.
This almanac information is also updated for every several days as a result of control from the control station on the earth. It is also possible to store the almanac information in the memory of the GPS receiver and to use it. However, its duration of life is about several months, and this almanac information in the memory is normally updated into new information acquired from the GPS satellite for every several months. If this almanac information is accumulated in the memory of the GPS receivers, it is possible to know a suitable channel for a certain satellite, when a power is turned on, by the calculation.
In order to acquire the above described data by receiving the signal from the GPS satellite, at first, after removing the carrier wave, by using a PN sequence code (hereinafter, a PN sequence code is simply referred to as a PN code) prepared in the GPS receiver similar to the C/A code used in the GPS satellite to be received, the phase synchronization of the C/A code is acquired with respect to a signal from this GPS satellite to acquire a signal from the GPS satellite, so that the inverted spectrum diffusion is performed. When the phase synchronization with the C/A code is acquired and the inverted spectrum diffusion is performed, a bit is detected and it becomes possible to acquire the navigation message including the time information or the like from the signal received from the GPS satellite.
The signal is acquired from the GPS satellite by the retrieval of the phase synchronization of the C/A code. In this retrieval of the phase synchronization, a correlation between the PN code of the GPS receiver and the PN code of the signal received from the GPS satellite is detected. For example, when the correlative value of this correlation detection result is larger than a predetermined value, it is determined that the both PN codes are in synchronization. Then, when it is detected that they are not synchronized with each other, controlling the phase of the PN code of the GPS receiver by using some synchronization methods, the PN code of the GPS receiver may be synchronized with the PN code of the signal from the GPS satellite.
By the way, as described above, the signal from the GPS satellite (GPS signal) comprises a signal whose carrier frequency is BPSK-modulated by a signal diffused by the PN code (diffusion code). In order for the GPS receiver to receive this GPS signal, it is required that this GPS signal be synchronized, not only with the diffusion signal, but also with the carrier frequency and the data. However, it is not possible to synchronize the GPS signal with the diffusion signal and the carrier frequency independently.
Then, in the GPS receiver, it is a usual way that a carrier frequency of the GPS signal is converted into an intermediate frequency within several MHz, and by using this intermediate frequency, the above described synchronization detection process is performed with respect to the GPS signal. The carrier wave in this intermediate frequency signal includes a frequency error by the Doppler shift in response to the moving rate of the GPS satellite and a frequency error generated from a local oscillator within the GPS receiver upon converting the GPS signal into the intermediate frequency signal.
Accordingly, due to these frequency error factors, the carrier frequency in the intermediate frequency signal is not given, so that the search of the carrier frequency thereof is required. In addition, a synchronization point within one frequency of the PN code (the synchronized phase) depends on a locational relation between the GPS receiver and the GPS satellite, so that the synchronization point is not also given. Therefore, as described above, some synchronization method is required.
The conventional GPS receiver employs a frequency search with regard to the carrier wave and a synchronization method utilizing a sliding correlator, DLL (Delay Locked Loop) and a costas loop. The explanation of this will be given below.
As a clock for driving a PN code generator of the GPS receiver, a clock obtained by dividing a reference frequency oscillator prepared in the GPS receiver, is generally utilized. As the reference frequency oscillator, a crystal oscillator with a high degree of accuracy is utilized. The reference frequency oscillator generates a local oscillation signal to be used for converting a received signal from the GPS satellite into an intermediate frequency signal from the output of this fundamental frequency oscillator.
FIG. 36 illustrates this frequency search. In other words, when the frequency of the clock signal for driving a generator of the PN code of the GPS receiver is a certain frequency f1, the retrieval of the phase synchronization with respect to the PN code is performed, namely, the phase, with which the PN code can be synchronized, is detected in such a manner that the phase of the PN code is sequentially shifted in increments of one chip, the correlation of the GPS received signal and the PN code in each chip phase is detected and a peak value of the correlation is detected.
In the case that the frequency of the above mentioned clock signal is f1, when no synchronous phase is found as a result of the phase retrieval corresponding to all 1023 chips, for example, by changing the division ratio with respect to the reference frequency oscillator, the frequency of the above mentioned driving clock signal is changed into the frequency f2, and the phase retrieval corresponding to 1023 chips is performed in the similar way. As shown in FIG. 36, this process is repeated while changing the frequency of the above-mentioned driving signal step by step. The above described operation serves as the frequency search.
Then, when the frequency of the driving clock signal, with which the PN code can be synchronized, is detected according to this frequency search, the final phase synchronization of the PN code may be performed at this clock frequency. Thus, even if there is deviance of the oscillated frequency of the crystal frequency oscillator, the satellite signal can be acquired.
By the way, in late years, a fast Fourier transform (hereinafter, abbreviated to as FFT) operation with a high degree of accuracy has been enabled on a device according to the development of the performance of the hardware represented by a DSP (Digital Signal Processor). Therefore, a method has been in consideration to acquire the code synchronization between the GPS signal as the spectrum diffusion signal and the diffusion code to be generated in the GPS receiver, at a high speed by using FFT.
The above described method utilizes a property that a correlation function c(n) between a signal a(n) and a signal b(n) is equivalent to an inverted Fourier transform result of a multiplication result C(k) [=A(k)xc2x7Bxe2x80x2(k)] between a Fourier transform result A(k) of the signal a(n) and a complex conjugate Bxe2x80x2(k) of a Fourier transform result B(k) of the signal b(n).
For example, as shown in FIG. 37, a case will be considered below, in which a GPS signal as a received signal received from the GPS receiver is defined as a signal a(n), and a diffusion signal to be generated in the GPS receiver is defined as a signal b(n). In this case, the FFT operation is carried out with respect to the signal a(n) in an FFT calculator 101 and this result is written into a memory 102. In the same way, the FFT operation is carried out with respect to the signal b(n) in an FFT calculator 105 and this result is written into a memory 106.
Then, by multiplying the FFT processing result (FFT operation result) of the signal a(n) written in the memory 102 by the FFT processing result (FFT operation result) of the signal b(n) written in the memory 106 in a multiplier 103, and carrying out the inverse FFT operation with respect to this multiplication result in an inverse FFT calculator 107, a correlation function c(n) can be obtained.
In response to whether or not a level of this correlation function c(n) is higher than a predetermined value, it can be determined whether or not the diffusion code in which the GPS signal is spectrum-diffused and the diffusion code generated in the GPS receiver are the same. Then, when these diffusion codes are determined to be the same, by performing the inverse spectrum diffusion by the use of the diffusion signal generated in the GPS receiver, it is possible to demodulate the transmitted data.
The FFT calculators 101, 105, the multiplier 103 and the inverse FFT calculator 107 shown in FIG. 37 can be realized as the functions of the DSP, and a so-called digital matched filter can be configured, so that the phase synchronization can be performed at a higher speed than the case where the above mentioned method is utilized by the use of a so-called sliding correlator.
However, in the case of the digital matched filter by the use of the FFT calculation, the following problems and requirements may be found. At first, in the case of performing the FFT calculation, as shown in FIG. 37, the memories 102 and 106 for storing an FFT processing result are required. This involves a problem that the storage capacity of this memory becomes relatively large. For example, if there are 16-th power of 2 (65536) pieces of data, the required storage capacity of the memory for the FFT calculation becomes about 524-k byte including a real part and an imaginary part of a complex calculation in the 32-bit operation.
According to a calculation algorithm of the FFT, the inputted data is calculated recursively while rewriting it, so that, in a case of maintaining the inputted data to be left, a memory for storing the inputted data and a memory for storing the FFT processing result are required. Therefore, the double memory capacity is required compared to a case that the inputted data is not left.
If the inputted data is a binary signal, only about 65.5-k byte is required as the capacity of the memory for storing the inputted data according to the above-described example. However, since the FFT processing result is not binary, as described before, the storage capacity including the real part and the imaginary part of the complex calculation and corresponding to the number of the inputted data is required. As a result, the storage capacity of a memory for storing the outputted data may not be less than about 524-k byte.
In the frequency analysis according to the ordinary FFT calculation, as the number of data is larger, the frequency resolution may be increased. However, as described above, the required capacity of the memory for performing the FFT calculation may be increased simultaneously. Because the memory capacity has much effect on a LSI chip area, a cost of the memory capacity becomes higher upon making the circuit into a LSI. Thus, it is required that a predetermined frequency resolution can be obtained even by a small memory capacity.
In addition, it is demanded to perform the synchronization acquisition more promptly. By using the FFT calculation, the synchronization acquisition can be performed at a high speed with respect to the GPS signal from the GPS satellite, however, as described above, only the GPS signal from one GPS satellite does not allow the positioning calculation. In order to perform the three-dimensional positioning, the synchronization of the GPS signal from at least four GPS satellites should be acquired. Further, the GPS signal from each GPS satellite may also include an effect of a so-called Doppler shift such that the frequency is shifted due to an influence of the Doppler effect.
Thus, with respect to the GPS signal from a plurality of GPS satellites, it is required to perform the synchronization acquisition more promptly as well as to perform the effective synchronization acquisition further in view of the influence of the Doppler shift.
In addition, the synchronization acquired with respect to the GPS signal should be maintained, and various data to be offered as the GPS signal should be demodulated to be used. However, in a case where there is a plurality of GPS signals whose synchronization are acquired and maintained, this involves a problem that which GPS signal should be used in order to perform the positioning calculation with a higher degree of accuracy.
The present invention is proposed taking the foregoing problems into consideration and provides a GPS receiver and a method of receiving a GPS signal, capable of solving the above described problems, acquiring a GPS signal from a plurality of GPS satellites effectively and at a high speed, and performing a positioning calculation at a higher degree of accuracy.
In order to achieve what is described above, a GPS receiver according to an aspect of the present invention may include: first fast Fourier transform means for fast-Fourier transforming a GPS signal as a received signal, of which carrier frequency is modulated by transmitted data, which is spectrum-diffused by using a diffusion code that is different for each satellite; a diffusion code generator for generating a plurality of the diffusion codes that is different for each signal; a diffusion code adder for adding at least two or more different diffusion codes from among the plural diffusion codes to be generated by the diffusion code generator; second fast Fourier transform means for fast-Fourier transforming an addition result from the diffusion code adder; a multiplier for multiplying a fast Fourier transform result of the first fast Fourier transform means by complex conjugate of a fast Fourier transform result of the second fast Fourier transform means; inverse fast Fourier transform means for inverse-fast Fourier transforming a multiplication result from the multiplier; a correlation point detector for detecting a correlation point between the GPS signal and the at least two or more different diffusion codes on the basis of a transform result from the inverse fast Fourier transform means; and a detector for detecting the carrier frequency of the received GPS signal and a diffusion code used for the spectrum diffusion on the basis of a detection result from the correlation point detector.
In the GPS receiver according to an embodiment of the present invention, the diffusion code generator may generate a plurality of diffusion codes having various code patterns, and at least two or more diffusion codes from among these plural diffusion codes may be added by the diffusion code adder to be fast Fourier transformed by the second fast Fourier transform means.
Then, the fast Fourier transform result of the GPS signal from the first fast Fourier transform means is multiplied by the fast Fourier transform result of two and more diffusion codes from the second fast Fourier transform means, which are added by the diffusion code adder, and this multiplication result is inverse-fast Fourier transformed by the inverse fast Fourier transform means, so that a correlative value between the GPS signal and the diffusion code may be obtained.
On the basis of this correlative value obtained as a result of the inverse fast Fourier transform, the correlation point detector may detect a correlation point, and on the basis of this detection result, a carrier frequency and a diffusion code may be specified.
Thus, simultaneously using a plurality of diffusion codes, and specifying the carrier frequency and the diffusion code with respect to the GPS signal from a plurality of satellites at the same time, the synchronization of the carrier frequency of this GPS signal and the phase synchronization of the diffusion code are maintained to enable to perform the positioning operation. In other words, it is possible to perform the synchronization acquisition with respect to a plurality of GPS signals at the same time.
In addition, compared to a case where the fast Fourier transform is performed for each of the plural diffusion codes having various code patterns, it is possible to decrease the number of the fast Fourier transform process. Accordingly, many memories are not required to be prepared in order to effectively perform the fast Fourier transform, so that it is possible to perform the synchronization acquisition of the GPS signal from a plurality of satellites.
In addition, the GPS receiver according to another aspect of the present invention may further include, in addition to the above mentioned elements: a combination changer for changing a combination of at least two or more different diffusion codes to be added by the diffusion code adder; and a controller for controlling the combination changer so as to change the combination of the diffusion codes to be added by the diffusion code adder and to repeat the detection of the correlation point, which is performed by the multiplier, the inverse fast Fourier transform means, and the correlation point detector; wherein the detector detects the carrier frequency and the diffusion code on the basis of a plurality of detection results of the correlation point.
According to the GPS receiver of the embodiment of the present invention, the controller controls the combination changer is controlled by the control means so that the combination of the diffusion codes to be added by the diffusion code adder is appropriately changed. Then, on the basis of the detection results of a plurality of correlation points, the detector detects the carrier frequency and the diffusion code.
Thus, even in a case where the carrier frequencies and the diffusion codes of the GPS signals from a plurality of satellites can not be specified by the detection process of the correlation point at a time, compared to a case where the detection process of the correlation point including the fast Fourier transform operation and the inverse fast Fourier transform operation is performed separately with respect to each of the diffusion codes having various code patterns, the carrier frequencies of the GPS signals from many satellites and the used diffusion codes may be specified in the less number of times of the correlation point detection processes.
In addition, the GPS receivers according to the above-mentioned aspects of the present invention may include a diffusion code shifter for shifting phases of diffusion codes to be added by the diffusion code adder by a certain amount.
According to the GPS receivers of the present invention, by the diffusion code shifter, the phases of the diffusion codes of the addition targets are shifted and then, they are added. Thus, even in the diffusion codes having various code patterns, the chips of the diffusion codes to be added are prevented from being balanced out, and the detection accuracy of the correlative value and the detection level are raised, so that it is possible to perform the synchronization acquisition process with rapidity and with a high degree of accuracy.
In addition, the GPS receivers according to the above-mentioned aspects of the present invention may further include: storage means having written therein the fast Fourier transform result of the GPS signal from the first fast Fourier transform means; and a read out address controller for controlling a read out address of the data from the storage means, wherein the multiplier uses the fast Fourier transform result of the GPS signal to be read out from the storage means by the control of the read out address controller as the fast Fourier transform result of the first fast Fourier transform means; and the read out address controller, in the case where the correlation point can not be detected by the correlation point detector, changes the read out address of the data from the storage means.
According to the GPS receiver of the embodiment of the present invention, the fast Fourier transform result from the first fast Fourier transform means is stored and maintained in the storage means. In the multiplication means, the data, which is read out from the storage means, is used as the fast Fourier transform result of the first fast Fourier transform means.
Then, when the correlation point has not been detected by the correlation point detector, for example, it is considered that an influence of the Doppler shift may be a factor, so that the read out address controller changes the read out address and the data is read out from the storage means, the read out data is supplied to the multiplier and then, the correlation point is detected once again. In other words, by using the fast Fourier transform result of the first fast Fourier transform means, of which frequency is to be shifted, and the fast Fourier transform result of the diffusion code, the correlation point is detected once again.
Thus, even if the GPS signal is affected by the Doppler shift, by performing the correlation point detection by means of the fast Fourier transform result of the first fast Fourier transform means, of which frequency is to be shifted, it is possible to eliminate the influence due to the Doppler shift with rapidity and to perform the synchronization acquisition with rapidity.
Furthermore, since the fast Fourier transform result from the first fast Fourier transform means and the fast Fourier transform result from the second fast Fourier transform means can be used, it is not necessary to repeat the fast Fourier transform itself. As a result, the processing may not be complicated, and the required storage capacity of the memory for the fast Fourier transform may not be large.
In addition, the GPS receiver according to another aspect of the present invention may further include, in addition to the above GPS receiver: a processing target controller for controlling a GPS signal which is newly received so as to be a processing target when the change of the read out address by means of the read out address controller exceeds a unit interval of a predetermined frequency.
According to the GPS receiver of the aspect of the present invention, when the correlation point can not be detected even if the read out address is changed during an interval of a predetermined frequency by the read out address controller, the fast Fourier transform is carried out with respect to the GPS signal which is newly received so that the correlation is detected once again.
Thus, in a case where the synchronization acquisition is not active, by using the GPS signal that is newly received and is fetched in, the correlation detection may be performed once again, and in response to the change of the reception environment, the synchronization acquisition may be performed as soon as possible.
In addition, the GPS receiver according to still another aspect of the present invention comprises: fast Fourier transform means for fast-Fourier transforming a GPS signal as a received signal, of which carrier frequency is modulated by transmitted data, which is spectrum-diffused by using a diffusion code that is different for each satellite; storage means in which the fast Fourier transform result of the GPS signal from the fast Fourier transform means is written; a multiplier for multiplying a fast Fourier transform result of the GPS signal to be read out from the storage means by each of fast Fourier transform results of different plural diffusion codes to be used by each of the plural satellites, individually; inverse fast Fourier transform means for inverse-fast Fourier transforming a multiplication result from the multiplication means; a correlation point detector for detecting a correlation point from a transform result from the inverse fast Fourier transform means; and a detector for detecting the carrier frequency of the received GPS signal and a diffusion code used for the spectrum diffusion on the basis of a detection result from the correlation point detector.
According to the GPS receiver of the aspect of the present invention, the fast Fourier transform result of the GPS signal is stored in the storage means, and this is multiplied by each of the fast Fourier transform results of a plurality of diffusion signals in the multiplier to be inverse-fast Fourier transformed. As a result, the correlative value between the GPS signal and each diffusion code is obtained.
In this case, since the fast Fourier transform result of the GPS signal to be multiplied by the plural diffusion signals is stored in the storage means, it is not necessary to perform the fast Fourier transform for each diffusion code, so that the synchronization acquisition is performed with rapidity and without making the process of the synchronization acquisition with respect to each of the GPS signals from a plurality of satellites complicated, and the memory capacity is not increased for the fast Fourier transform operation of the GPS signal.
In addition, the GPS receiver according to still another aspect of the present invention comprises: a diffusion code generator for generating a diffusion code, which is the same as the diffusion code that is different for each satellite to be used for spectrum-diffusing the transmitted data at a satellite; a correlative value detector for detecting a correlative value between the diffusion code of the GPS signal as the received signal, whose carrier frequency is modulated by the transmitted data, which is spectrum-diffused by using a diffusion code that is different for each satellite, and each of the diffusion codes that are different for each signal from the diffusion code generator; and a selector for selecting a GPS signal to be used for positioning on the basis of a size of the correlative value to be detected by the correlation value detector.
According to the GPS receiver of the aspect of the present invention, the correlative value between the GPS signal and each of the diffusion codes, which are different for each satellite, is detected by the correlative value detector, and the GPS signal is selected by the selector so that the navigation message provided by the GPS signal having the high level correlative value is used. Thus, it is possible to perform the positioning operation with a high degree of accuracy by using a precise navigation message to be demodulated at a high degree of accuracy.
As described above, according to the present invention, by performing the synchronization acquisition effectively and at a high speed with respect to the signals from a plurality of GPS satellites, it is possible to acquire the navigation message from a plurality of GPS satellites with rapidity.
In addition, even in the case that the navigation message from a plurality of GPS satellites not less than the minimal amount are available, by using the navigation message from the GPS satellite having the higher correlative value, it is possible to measure the present position of the GPS receiver precisely by performing the positioning operation with a high degree of accuracy.